If the result of TTTTccccllll____MMMMeeeerrrrggggeeee is passed to TTTTccccllll____SSSSpppplllliiiittttLLLLiiiisssstttt, the elements
returned by TTTTccccllll____SSSSpppplllliiiittttLLLLiiiisssstttt will be identical to those passed into
TTTTccccllll____MMMMeeeerrrrggggeeee. However, the converse is not true: if TTTTccccllll____SSSSpppplllliiiittttLLLLiiiisssstttt is
passed a given string, and the resulting _a_r_g_c and _a_r_g_v are passed to
TTTTccccllll____MMMMeeeerrrrggggeeee, the resulting string may not be the same as the original
string passed to TTTTccccllll____SSSSpppplllliiiittttLLLLiiiisssstttt. This is because TTTTccccllll____MMMMeeeerrrrggggeeee may use
backslashes and braces differently than the original string.
TTTTccccllll____SSSSccccaaaannnnEEEElllleeeemmmmeeeennnntttt and TTTTccccllll____CCCCoooonnnnvvvveeeerrrrttttEEEElllleeeemmmmeeeennnntttt are the procedures that do all of
the real work of TTTTccccllll____MMMMeeeerrrrggggeeee. TTTTccccllll____SSSSccccaaaannnnEEEElllleeeemmmmeeeennnntttt scans its _s_r_c argument and
determines how to use backslashes and braces when converting it to a list
element. It returns an overestimate of the number of characters required
to represent _s_r_c as a list element, and it stores information in
*_f_l_a_g_s_P_t_r that is needed by TTTTccccllll____CCCCoooonnnnvvvveeeerrrrttttEEEElllleeeemmmmeeeennnntttt.
TTTTccccllll____CCCCoooonnnnvvvveeeerrrrttttEEEElllleeeemmmmeeeennnntttt is a companion procedure to TTTTccccllll____SSSSccccaaaannnnEEEElllleeeemmmmeeeennnntttt. It does
the actual work of converting a string to a list element. Its _f_l_a_g_s
argument must be the same as the value returned by TTTTccccllll____SSSSccccaaaannnnEEEElllleeeemmmmeeeennnntttt.
TTTTccccllll____CCCCoooonnnnvvvveeeerrrrttttEEEElllleeeemmmmeeeennnntttt writes a proper list element to memory starting at
*_d_s_t and returns a count of the total number of characters written, which
will be no more than the result returned by TTTTccccllll____SSSSccccaaaannnnEEEElllleeeemmmmeeeennnntttt.
TTTTccccllll____CCCCoooonnnnvvvveeeerrrrttttEEEElllleeeemmmmeeeennnntttt writes out only the actual list element without any
leading or trailing spaces: it is up to the caller to include spaces
between adjacent list elements.
TTTTccccllll____CCCCoooonnnnvvvveeeerrrrttttEEEElllleeeemmmmeeeennnntttt uses one of two different approaches to handle the
special characters in _s_r_c. Wherever possible, it handles special
characters by surrounding the string with braces. This produces clean-
looking output, but can't be used in some situations, such as when _s_r_c
contains unmatched braces. In these situations, TTTTccccllll____CCCCoooonnnnvvvveeeerrrrttttEEEElllleeeemmmmeeeennnntttt
handles special characters by generating backslash sequences for them.
The caller may insist on the second approach by OR-ing the flag value
returned by TTTTccccllll____SSSSccccaaaannnnEEEElllleeeemmmmeeeennnntttt with TTTTCCCCLLLL____DDDDOOOONNNNTTTT____UUUUSSSSEEEE____BBBBRRRRAAAACCCCEEEESSSS. Although this will
produce an uglier result, it is useful in some special situations, such
as when TTTTccccllll____CCCCoooonnnnvvvveeeerrrrttttEEEElllleeeemmmmeeeennnntttt is being used to generate a portion of an
argument for a Tcl command. In this case, surrounding _s_r_c with curly
braces would cause the command not to be parsed correctly.